package smartcase;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.servlet.ServletComponentScan;
import smartcase.config.access.AccessConfiguration;
import smartcase.config.auth.AuthCheckConfiguration;
import smartcase.config.cos.CosConfiguration;
import smartcase.config.log.ElkAccessConfiguration;

@EnableConfigurationProperties(
    value = {
      AccessConfiguration.class,
      AuthCheckConfiguration.class,
      CosConfiguration.class,
      ElkAccessConfiguration.class
    })
@ServletComponentScan
@SpringBootApplication(exclude = {MongoAutoConfiguration.class})
public class SmartSpringApplication {

  public static void main(String[] args) {
    SpringApplication.run(SmartSpringApplication.class, args);
  }
}
